﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;

[DataContract]
public class ResultSentencePair
{
    [DataMember]
    public string Language1Line;
    [DataMember]
    public string Language2Line;

    [DataMember]
    public string strUrl;
}

namespace BilingualSentSearchEngine
{
    // NOTE: If you change the interface name "IService1" here, you must also update the reference to "IService1" in App.config.
    [ServiceContract]
    public interface IBilingualSentSearchService
    {
        [OperationContract]
        int GetSentencePairByEnglish(string word, int startPageNo, int sizePerPage, bool isMark, string strUserId, out List<ResultSentencePair> rspList, out string strMessage);

        [OperationContract]
        int GetSentencePairByChinese(string word, int startPageNo, int sizePerPage, bool isMark, string strUserId, out List<ResultSentencePair> rspList, out string strMessage);

        [OperationContract]
        int GetTraditionalChineseByEnglish(string word, int startPageNo, int sizePerPage, bool isMark, string strUserId, out List<ResultSentencePair> rspList, out string strMessage);

        [OperationContract]
        int GetEnglishPairByTraditionalChinese(string word, int startPageNo, int sizePerPage, bool isMark, string strUserId, out List<ResultSentencePair> rspList, out string strMessage);

        [OperationContract]
        int GetSentencePairByJapanese(string word, int startPageNo, int sizePerPage, bool isMark, string strUserId, out List<ResultSentencePair> rspList, out string strMessage);

        [OperationContract]
        List<string> GetEnglishByChinese(string strChinese);

        [OperationContract]
        List<string> GetChineseByEnglish(string strEnglish);

        [OperationContract]
        List<string> GetTermFormations(string term);

        [OperationContract]
        List<string> SCHS_WordBreaker(string strWord, int maxLength, bool bIgnoreSpace);

        [OperationContract]
        void ReportWrongSentencePair(string strQuery, string strEnglishSentence, string strChineseSentence);

        // TODO: Add your service operations here
    }
}
